草庐IT

mysql - 将 MySQL 模式转换为 Github Wiki?

全部标签

ruby - 将嵌套哈希转换为平面哈希

这道题是thisquestion的逆题.给定一个嵌套的哈希{:a=>{:b=>{:c=>1,:d=>2},:e=>3,},:f=>4,}将它转换成平面散列的最佳方法是什么{[:a,:b,:c]=>1,[:a,:b,:d]=>2,[:a,:e]=>3,[:f]=>4,} 最佳答案 另一种方式:defflat_hash(h,f=[],g={})returng.update({f=>h})unlessh.is_a?Hashh.each{|k,r|flat_hash(r,f+[k],g)}gendh={:a=>{:b=>{:c=>1,:d=

ruby - 将对象数组转换为以字段为键的哈希

我有一个对象数组:[#,#,...]我想将其转换为以id为键,以对象为值的散列。现在我是这样做的,但我知道有更好的方法:users=User.all.reduce({})do|hash,user|hash[user.id]=userhashend预期输出:{1=>#,2=>#,...} 最佳答案 users_by_id=User.all.map{|user|[user.id,user]}.to_h如果您使用的是Rails,ActiveSupport会提供Enumerable#index_by:users_by_id=User.all

ruby - 在 Ruby 中编写单例模式的正确方法是什么?

我正在尽我所能用Ruby编写最安全的单例。我是这门语言的新手,它的弹性如此之大,以至于我没有强烈的感觉我的单例类会成功地只创建一个实例。作为奖励,我希望该对象仅在真正使用时才实例化。 最佳答案 #requiresingletonlibrequire'singleton'classAppConfig#mixinthesingletonmoduleincludeSingleton#dotheactualappconfigurationdefload_config(file)#doyourworkhereputs"Applicationc

ruby - 另一种方法而不是转义正则表达式模式?

通常当我的正则表达式模式看起来像这样时:http://www.microsoft.com/然后我必须像这样逃避它:string.match(/http:\/\/www\.microsoft\.com\//)有没有其他方法而不是像那样转义它?我希望能够像这样使用它http://www.microsoft.com,因为我不想转义所有模式中的所有特殊字符。 最佳答案 Regexp.new(Regexp.quote('http://www.microsoft.com/'))Regexp.quote简单地转义任何具有特殊正则表达式含义的字符;

ruby - 如何将 boolean 值转换为整数?

我有一个boolean值来检查它是否为真,然后设置一个局部变量。我该如何重构它,使其更像Ruby?iffirm.inflection_pointinflection_point=1elseinflection_point=0end 最佳答案 inflection_point=(firm.inflection_point?1:0) 关于ruby-如何将boolean值转换为整数?,我们在StackOverflow上找到一个类似的问题: https://stack

ruby - 在 Ruby 中将嵌套哈希键从 CamelCase 转换为 snake_case

我正在尝试构建API包装器gem,但在将哈希键从API返回的JSON转换为更像Rubyish的格式时遇到了问题。JSON包含多层嵌套,包括哈希和数组。我想做的是递归地将所有键转换为snake_case以便于使用。这是我到目前为止所得到的:defconvert_hash_keys(value)returnvalueif(notvalue.is_a?(Array)andnotvalue.is_a?(Hash))result=value.inject({})do|new,(key,value)|new[to_snake_case(key.to_s).to_sym]=convert_hash_

ruby - 如何将字符串数组转换为符号数组?

我想把下面的字符串数组的元素转换成符号,并输出strings=["HTML","CSS","JavaScript","Python","Ruby"]看看我在做什么:strings.each{|x|putsx.to_sym}没有成功。我做错了什么? 最佳答案 使用map而不是each:>>strings.map{|x|x.to_sym}=>[:HTML,:CSS,:JavaScript,:Python,:Ruby]对于Ruby1.8.7及更高版本或包含ActiveSupport,您可以使用以下语法:>>strings.map&:to_

ruby - 匹配数组中的模式

有一个包含2个元素的数组test=["iamaboy","iamagirl"]我想测试是否在数组元素中找到了一个字符串,比如:test.include("boy")==>truetest.include("frog")==>false我可以那样做吗? 最佳答案 使用正则表达式。test=["iamaboy","iamagirl"]test.find{|e|/boy/=~e}#=>"iamaboy"test.find{|e|/frog/=~e}#=>nil 关于ruby-匹配数组中的模式,

ruby - 如何替换 ruby​​ 中模式的每个实例?

string.sub看起来它只替换了第一个实例。是否有可以替代所有模式的选项或其他方法?你能在perl之类的正则表达式中完成吗?(我觉得像r/blah/blah/)...并+1给任何能告诉我为什么string.sub只替换第一个匹配项的人? 最佳答案 String.gsub应该可以解决问题。引用文档:gsub(pattern,replacement)→new_strReturnsacopyofstrwiththealloccurrencesofpatternsubstitutedforthesecondargument.Thepat

ruby-on-rails - 将日期时间转换为月、日和年?

我好像找不到这个,我觉得应该很容易。在RubyonRails中,我如何采取:2010-06-1419:01:00UTC把它变成June14th,2010我不能只在View中使用助手吗? 最佳答案 我不知道June14th,2010但如果你想June14,2010引用howdoigetnameofthemonthinrubyonRails?或this就这样@date=Time.now@date.strftime("%B%d,%Y")后缀用在后面@date.strftime("%B#{@date.day.ordinalize},%Y")